package org.zbclan.bf2.rcon.model;

import java.io.Serializable;
import java.util.Date;
import java.util.regex.Pattern;

public class LocalProfile implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 9167697502512167700L;

	public static final Pattern NAME_PATTERN = Pattern
			.compile("LocalProfile\\.setName \"([^\"]+)\"");
	public static final Pattern NICK_PATTERN = Pattern
			.compile("LocalProfile\\.setNick \"([^\"]+)\"");
	public static final Pattern GAMESPY_NICK_PATTERN = Pattern
			.compile("LocalProfile\\.setGamespyNick \"([^\"]+)\"");
	public static final Pattern EMAIL_PATTERN = Pattern
			.compile("LocalProfile\\.setEmail \"([^\"]+)\"");
	public static final Pattern PASSWORD_PATTERN = Pattern
			.compile("LocalProfile\\.setPassword \"([^\"]+)\"");
	public static final Pattern TOTAL_PLAYED_TIME_PATTERN = Pattern
			.compile("LocalProfile\\.setTotalPlayedTime (\\d+(?:\\.\\d+)?)");
	public static final Pattern NUM_TIMES_LOGGED_IN_PATTERN = Pattern
			.compile("LocalProfile\\.setNumTimesLoggedIn (\\d+)");

	private String name;
	private String nick;
	private String gamespyNick;
	private String email;
	private String password;
	private float totalPlayedTime;
	private int numTimesLoggedIn;

	private String platformId;
	private String platformUser;
	private String platformDir;

	private String platformOSArch;
	private String platformOSName;
	private String platformOSVersion;

	private Date timestamp;

	private AudioSettings audioSettings;
	private VideoSettings videoSettings;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNick() {
		return nick;
	}

	public void setNick(String nick) {
		this.nick = nick;
	}

	public String getGamespyNick() {
		return gamespyNick;
	}

	public void setGamespyNick(String gamespyNick) {
		this.gamespyNick = gamespyNick;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public float getTotalPlayedTime() {
		return totalPlayedTime;
	}

	public void setTotalPlayedTime(float totalPlayedTime) {
		this.totalPlayedTime = totalPlayedTime;
	}

	public int getNumTimesLoggedIn() {
		return numTimesLoggedIn;
	}

	public void setNumTimesLoggedIn(int numTimesLoggedIn) {
		this.numTimesLoggedIn = numTimesLoggedIn;
	}

	public String getPlatformUser() {
		return platformUser;
	}

	public void setPlatformUser(String platformUser) {
		this.platformUser = platformUser;
	}

	public String getPlatformId() {
		return platformId;
	}

	public void setPlatformId(String platformId) {
		this.platformId = platformId;
	}

	public String getPlatformDir() {
		return platformDir;
	}

	public void setPlatformDir(String platformDir) {
		this.platformDir = platformDir;
	}

	public Date getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(Date timestamp) {
		this.timestamp = timestamp;
	}

	public String getPlatformOSArch() {
		return platformOSArch;
	}

	public void setPlatformOSArch(String platformOSArch) {
		this.platformOSArch = platformOSArch;
	}

	public String getPlatformOSName() {
		return platformOSName;
	}

	public void setPlatformOSName(String platformOSName) {
		this.platformOSName = platformOSName;
	}

	public String getPlatformOSVersion() {
		return platformOSVersion;
	}

	public void setPlatformOSVersion(String platformOSVersion) {
		this.platformOSVersion = platformOSVersion;
	}

	public AudioSettings getAudioSettings() {
		return audioSettings;
	}

	public void setAudioSettings(AudioSettings audioSettings) {
		this.audioSettings = audioSettings;
	}

	public VideoSettings getVideoSettings() {
		return videoSettings;
	}

	public void setVideoSettings(VideoSettings videoSettings) {
		this.videoSettings = videoSettings;
	}
}
